<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //政策查询调用接口
        $this->app->bind('App\Repositories\Ota\Ctrip\Policy\Contracts\SpecialPolicyInterface', 'App\Repositories\Ota\Ctrip\Policy\Eloquent\SpecialPolicyRepository');
        $this->app->bind('App\Repositories\Policy\Contracts\OrderInterface', 'App\Repositories\Policy\Eloquent\OrderRepository');
        $this->app->bind('App\Repositories\Ota\Ctrip\Policy\Contracts\CtripRulePolicyInterface', 'App\Repositories\Ota\Ctrip\Policy\Eloquent\CtripRulePolicyRepository');
        //去哪
        $this->app->bind('App\Repositories\Ota\Qn\Policy\Contracts\QuPolicyInterface', 'App\Repositories\Ota\Qn\Policy\Eloquent\QuPolicyRepository');
        $this->app->bind('App\Repositories\Policy\Contracts\QuOrderInterface', 'App\Repositories\Policy\Eloquent\QuOrderRepository');
        //同城
        $this->app->bind('App\Repositories\Ota\Tc\Policy\Contracts\TcPolicyInterface', 'App\Repositories\Ota\Tc\Policy\Eloquent\TcPolicyRepository');
        $this->app->bind('App\Repositories\Policy\Contracts\TcOrderInterface', 'App\Repositories\Policy\Eloquent\TcOrderRepository');
        //同程普政
        $this->app->bind('App\Repositories\Ota\Tc\Policy\Contracts\TcCommonPolicyInterface', 'App\Repositories\Ota\Tc\Policy\Eloquent\TcCommonPolicyRepository');
        //飞猪
        $this->app->bind('App\Repositories\Policy\Contracts\FzPolicyInterface', 'App\Repositories\Policy\Eloquent\FzPolicyRepository');
        //航班管家
        $this->app->bind('App\Repositories\Policy\Contracts\HbGjPolicyInterface', 'App\Repositories\Policy\Eloquent\HbGjPolicyRepository');

        //票台
        $this->app->bind('App\Repositories\Contracts\BookingInterface', 'App\Repositories\Eloquent\BookingRepository');
        $this->app->bind('App\Repositories\Contracts\PolicyInterface', 'App\Repositories\Eloquent\PolicyRepository');
        $this->app->bind('App\Repositories\Contracts\PolicyProductMarkInterface', 'App\Repositories\Eloquent\PolicyProductMarkRepository');
        $this->app->bind('App\Repositories\Contracts\CabinSetInterface', 'App\Repositories\Eloquent\CabinSetRepository');
        $this->app->bind('App\Repositories\Contracts\RuleSetInterface', 'App\Repositories\Eloquent\RuleSetRepository');
        $this->app->bind('App\Repositories\Contracts\PlatformInterface', 'App\Repositories\Eloquent\PlatformRepository');

        //OTA权限分配
        $this->app->bind('App\Repositories\Contracts\AdminPlatformInterface', 'App\Repositories\Eloquent\AdminPlatformRepository');

        //上传的政策
        $this->app->bind('App\Repositories\Contracts\PolicyUploadInterface', 'App\Repositories\Eloquent\PolicyUploadRepository');
        $this->app->bind('App\Repositories\Contracts\RulePolicyInterface', 'App\Repositories\Eloquent\RulePolicyRepository');
        $this->app->bind('App\Repositories\Contracts\RulePolicyFlightInterface', 'App\Repositories\Eloquent\RulePolicyFlightRepository');
        $this->app->bind('App\Repositories\Contracts\QnPolicyInterface', 'App\Repositories\Eloquent\QnPolicyRepository');
        $this->app->bind('App\Repositories\Contracts\TcPolicyInterface', 'App\Repositories\Eloquent\TcPolicyRepository');
        $this->app->bind('App\Repositories\Contracts\PolicyUploadQnInterface', 'App\Repositories\Eloquent\PolicyUploadQnRepository');
        //普政
        $this->app->bind('App\Repositories\Contracts\PolicyCommonUploadInterface', 'App\Repositories\Eloquent\PolicyCommonUploadRepository');
        //同程普政
        $this->app->bind('App\Repositories\Contracts\TcCommonPolicyInterface', 'App\Repositories\Eloquent\TcCommonPolicyRepository');

        //航班动态
        $this->app->bind('App\Repositories\Contracts\FlightInterface', 'App\Repositories\Eloquent\FlightRepository');
        $this->app->bind('App\Repositories\Contracts\FlightDynamicInterface', 'App\Repositories\Eloquent\FlightDynamicRepository');

        //城市
        $this->app->bind('App\Repositories\Contracts\CityInterface', 'App\Repositories\Eloquent\CityRepository');

        //天气
        $this->app->bind('App\Repositories\Contracts\WeatherInterface', 'App\Repositories\Eloquent\WeatherRepository');

        //航班数据
        $this->app->bind('App\Repositories\Contracts\ScanInterface','App\Repositories\Eloquent\ScanRepository');
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}
